---
title: "Sistemas y Señales Biomédicos"
description: "SYSB"
subtitle: "Ingeniería Biomédica"
lang: es
author: "Ph.D. Pablo Eduardo Caicedo Rodríguez"
date: "2025-01-30"
format:
html:
code-tools: true
code-overflow: wrap
code-line-numbers: true
code-copy: true
fig-align: center
self-contained: true
theme:
- simple
- ../../recursos/estilos/metropolis.scss
slide-number: true
preview-links: auto
logo: ../../recursos/imagenes/generales/Escuela_Rosario_logo.png
css: ../../recursos/estilos/styles_pres.scss
footer: <https://pablocaicedor.github.io/>
transition: fade
progress: true
scrollable: true
resources:
- demo.pdf
---
```{r}
#| echo: false
#| eval: true
#| output: false
#| label: Loading R-Libraries
# install.packages(c("DiagrammeR", "reticulate", "kableExtra", "tidyverse", "knitr", "cowplot", "ggfx"))
library("DiagrammeR")
library("reticulate")
library("kableExtra")
library("tidyverse")
library("knitr")
library("cowplot")
library("ggfx")
knitr::opts_chunk$set(echo = FALSE)
def.chunk.hook <- knitr::knit_hooks$get("chunk")
knitr::knit_hooks$set(chunk = function(x, options) {
x <- def.chunk.hook(x, options)
ifelse(options$size != "normalsize", paste0("\n \\", options$size, "\n\n", x, "\n\n \\normalsize"), x)
})
```
```{python}
#| echo: false
#| eval: true
#| output: false
#| label: Loading Python-Libraries
import numpy as np
import matplotlib.pyplot as plt
path_ecg="../../data"
#https://developer.nvidia.com/embedded/learn/get-started-jetson-nano-devkit#write
```
# **Actividad de Aprendizaje: Dominando Comandos de Linux en Ingeniería Biomédica**
## **Objetivo de Aprendizaje**
Los estudiantes serán capaces de aplicar comandos esenciales de Linux para la manipulación de archivos, gestión de procesos y análisis de datos biomédicos.
## **Duración**
1.5 horas
## **Materiales**
- Computador con Linux (instalado o máquina virtual), WSL2 con Ubuntu, o [emulado](https://distrosea.com/es/).
- [Hoja de trucos de Linux](https://www.geeksforgeeks.org/linux-commands-cheat-sheet/).
- [Archivo de datos biomédicos en formato `.csv` (proporcionado).](https://pruebacorreoescuelaingeduco.sharepoint.com/:x:/s/AdquisicinyProcesamientodeSealesBiomdicasenTecnologasdeBorde/EZNbZWOBseFMozMjrGosRN8B7XgqFzZXgJFOzC4Amf93ug?e=OeLMD8)
---
## **Parte 1: Exploración y Gestión de Archivos (30 min)**
### **Actividad 1: Navegación y manipulación de archivos**
1. Explora los archivos y directorios disponibles en el sistema.
2. Crea una estructura de directorios organizada para almacenar datos biomédicos.
3. Mueve y organiza el archivo de datos de pacientes dentro de la estructura creada.
4. Modifica los permisos del archivo para restringir o permitir accesos según corresponda.
**Preguntas de reflexión:**
- ¿Por qué es importante organizar archivos en un entorno de trabajo biomédico?
- ¿Cómo podrías utilizar permisos de archivos para proteger datos de pacientes en un hospital?
---
## **Parte 2: Procesamiento de Datos Biomédicos en la Terminal (40 min)**
### **Actividad 2: Exploración y análisis básico de datos**
1. Examina las primeras líneas del archivo de pacientes para entender su estructura.
2. Cuenta la cantidad total de registros para determinar el número de pacientes.
3. Filtra los registros de pacientes con presión arterial alta.
4. Ordena los pacientes por edad para identificar a los de mayor edad.
5. Extrae información relevante, como edad y frecuencia cardíaca, y guárdala en un nuevo archivo.
**Preguntas de análisis:**
- ¿Cómo podríamos automatizar estos análisis para realizarlos diariamente en un hospital?
- ¿Qué otros patrones en los datos podríamos detectar utilizando solo comandos de Linux?
---
## **Parte 3: Automatización con Scripts (20 min)**
### **Actividad 3: Creación de un script para análisis automático**
1. Escribe un script en python que realice los análisis anteriores y guarde los resultados en un archivo de reporte.
2. Asigna los permisos adecuados al script para poder ejecutarlo.
3. Ejecuta el script y verifica el contenido del reporte generado.
**Reflexión final:**
- ¿Cómo podríamos modificar el script para hacerlo más interactivo?
- ¿Cómo podríamos programarlo para que se ejecute automáticamente cada cierto tiempo?
---
## **Criterios de Evaluación**
| Criterio | Descripción | Puntos |
|-------------------------|------------|--------|
| Uso de comandos básicos | Aplicación correcta de comandos de navegación y manipulación de archivos | 20 |
| Procesamiento de datos | Uso adecuado de herramientas para análisis de datos | 30 |
| Automatización con scripts | Creación y ejecución correcta de un script funcional | 30 |
| Reflexión y análisis | Respuestas argumentadas a preguntas de reflexión | 20 |
**Total: 100 puntos**.
---
Esta actividad permite a los estudiantes desarrollar habilidades prácticas en Linux con aplicaciones directas en bioinformática y análisis de datos biomédicos.